# Makefile for menuconfig program
# based on busybox config style
#

.PHONY:all config menuconfig 

-include ./.config

ifneq ($(strip $(HAVE_DOT_CONFIG)),y)
all: menuconfig 
else
all: help
endif

help:
	@echo 'Configuration:'
	@echo '  allnoconfig        - disable all symbols in .config'
	@echo '  allyesconfig       - enable all symbols in .config (see defconfig)'
	@echo '  config     	 - text based configurator (of last resort)'
	@echo '  defconfig      - set .config to largest generic configuration'
	@echo '  menuconfig     - interactive curses-based configurator'
	@echo '  oldconfig      - resolve any unresolved symbols in .config'
	@echo

# configuration
# ---------------------------------------------------------------------------
CONFIG_CONFIG_IN = ./Config.in
CONFIG_SRC_DIR = ./tools/bconfig

$(CONFIG_SRC_DIR)/conf: $(CONFIG_SRC_DIR)/Makefile
	$(Q)$(MAKE) -C $(CONFIG_SRC_DIR) conf
	-@if [ ! -f .config ] ; then \
	    touch .config; \
	fi

$(CONFIG_SRC_DIR)/mconf: $(CONFIG_SRC_DIR)/Makefile
	$(Q)$(MAKE) -C $(CONFIG_SRC_DIR) ncurses conf mconf
	-@if [ ! -f .config ] ; then \
	    touch .config; \
	fi

menuconfig: $(CONFIG_SRC_DIR)/mconf
	@[ -f .config ] || make $(MAKEFLAGS) defconfig
	@$(CONFIG_SRC_DIR)/mconf $(CONFIG_CONFIG_IN)

config: $(CONFIG_SRC_DIR)/conf
	@$(CONFIG_SRC_DIR)/conf $(CONFIG_CONFIG_IN)

oldconfig: $(CONFIG_SRC_DIR)/conf
	@$(CONFIG_SRC_DIR)/conf -o $(CONFIG_CONFIG_IN)

randconfig: $(CONFIG_SRC_DIR)/conf
	@$(CONFIG_SRC_DIR)/conf -r $(CONFIG_CONFIG_IN)

allyesconfig: $(CONFIG_SRC_DIR)/conf
	@$(CONFIG_SRC_DIR)/conf -y $(CONFIG_CONFIG_IN)
	@$(CONFIG_SRC_DIR)/conf -o $(CONFIG_CONFIG_IN)

allnoconfig: $(CONFIG_SRC_DIR)/conf
	@$(CONFIG_SRC_DIR)/conf -n $(CONFIG_CONFIG_IN)

defconfig: $(CONFIG_SRC_DIR)/conf
	@$(CONFIG_SRC_DIR)/conf -y $(CONFIG_CONFIG_IN)
	@echo 'make some handle use sed editor .etc'
	@$(CONFIG_SRC_DIR)/conf -o $(CONFIG_CONFIG_IN)


clean:
	$(MAKE) -C $(CONFIG_SRC_DIR) clean
	@rm -rf *.o 

